﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.UI.Common;

namespace Sinacor.UI.Bovespa.Clientes.Model
{
    [Serializable]
    public class ParametroBolsa : BaseModel
    {
        #region Campos

        private bool _agrupaNota;
        private bool _baseLiquido;
        private string _caminhoNota;
        private bool _comissao;
        private bool _correspondente;
        private bool _integraContabilidade;
        private bool _liquidoNota;
        private bool _integraContasCorrentes;
        private int? _mensagem;
        private bool _integraCustodia;
        private bool _numeraNota;
        private bool _integraTesouraria;
        private bool _semOperacao;
        private bool _enviaAgente;
        private bool _enviaCarteira;
        private int? _ultimaNotaEmitida;
        private Model.Enum.TipoPeriodo _zeraNota;

        #endregion

        #region Propriedades

        public bool AgrupaNota
        {
            get
            {
                return _agrupaNota;
            }
            set
            {
                _agrupaNota = value; 
                this.OnPropertyChanged("AgrupaNota");
            }
        }

        public bool BaseLiquido
        {
            get
            {
                return _baseLiquido;
            }
            set
            {
                _baseLiquido = value; 
                this.OnPropertyChanged("BaseLiquido");
            }
        }

        public string CaminhoNota
        {
            get
            {
                return _caminhoNota;
            }
            set
            {
                _caminhoNota = value; 
                this.OnPropertyChanged("CaminhoNota");
            }
        }

        public bool Comissao
        {
            get
            {
                return _comissao;
            }
            set
            {
                _comissao = value; 
                this.OnPropertyChanged("Comissao");
            }
        }

        public bool Correspondente
        {
            get
            {
                return _correspondente;
            }
            set
            {
                _correspondente = value; 
                this.OnPropertyChanged("Correspondente");
            }
        }

        public bool IntegraContabilidade
        {
            get
            {
                return _integraContabilidade;
            }
            set
            {
                _integraContabilidade = value; 
                this.OnPropertyChanged("IntegraContabilidade");
            }
        }

        public bool IntegraContasCorrentes
        {
            get
            {
                return _integraContasCorrentes;
            }
            set
            {
                _integraContasCorrentes = value; 
                this.OnPropertyChanged("IntegraContasCorrentes");
            }
        }

        public bool IntegraCustodia
        {
            get
            {
                return _integraCustodia;
            }
            set
            {
                _integraCustodia = value; 
                this.OnPropertyChanged("IntegraCustodia");
            }
        }

        public bool IntegraTesouraria
        {
            get
            {
                return _integraTesouraria;
            }
            set
            {
                _integraTesouraria = value; 
                this.OnPropertyChanged("IntegraTesouraria");
            }
        }

        public bool LiquidoNota
        {
            get
            {
                return _liquidoNota;
            }
            set
            {
                _liquidoNota = value; 
                this.OnPropertyChanged("LiquidoNota");
            }
        }

        public int? Mensagem
        {
            get
            {
                return _mensagem;
            }
            set
            {
                _mensagem = value; this.OnPropertyChanged("Mensagem");
            }
        }

        public bool NumeraNota
        {
            get
            {
                return _numeraNota;
            }
            set
            {
                _numeraNota = value; 
                this.OnPropertyChanged("NumeraNota");
            }
        }

        public bool SemOperacao
        {
            get
            {
                return _semOperacao;
            }
            set
            {
                _semOperacao = value; 
                this.OnPropertyChanged("SemOperacao");
            }
        }

        public bool EnviaAgente
        {
            get
            {
                return _enviaAgente;
            }
            set
            {
                _enviaAgente = value; 
                this.OnPropertyChanged("EnviaAgente");
            }
        }

        public bool EnviaCarteira
        {
            get
            {
                return _enviaCarteira;
            }
            set
            {
                _enviaCarteira = value; 
                this.OnPropertyChanged("EnviaCarteira");
            }
        }

        public int? UltimaNotaEmitida
        {
            get
            {
                return _ultimaNotaEmitida;
            }
            set
            {
                _ultimaNotaEmitida = value; 
                this.OnPropertyChanged("UltimaNotaEmitida");
            }
        }

        public Model.Enum.TipoPeriodo ZeraNota
        {
            get
            {
                return _zeraNota;
            }
            set
            {
                _zeraNota = value; 
                this.OnPropertyChanged("ZeraNota");
            }
        }

        #endregion

        #region Construtor

        /// <summary>
        /// Construtor padrão
        /// </summary>
        public ParametroBolsa() { }

        #endregion
    }
}
